﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Lola.Servicio;

namespace Lola.Vista.LimpiezaSuministroTaller
{
    public partial class xfrmSectorIngresoMicro : DevExpress.XtraEditors.XtraForm
    {
        private String _galpon = String.Empty;
        private String _sector = String.Empty;
        private List<DTO.Grilla.dtoMicroGrilla> micros = new List<DTO.Grilla.dtoMicroGrilla>();

        public xfrmSectorIngresoMicro(String galpon, String sector)
        {
            this._galpon = galpon;
            this._sector = sector;
            InitializeComponent();
            CargarGrilla();
        }

        /// <summary>
        /// Carga la grilla
        /// </summary>
        private void CargarGrilla()
        {
            Sistema elSistema = Sistema.getInstancia();
            micros = elSistema.getMicrosDisponiblesParaSector(this._galpon, this._sector);
            this.grdMicros.DataSource = micros;
        }

        /// <summary>
        /// Obtiene el micro seleccionado en la grilla...
        /// </summary>
        /// <returns></returns>
        private String ObtenerServicioSeleccionado()
        {
            String resultado = String.Empty;
            try
            {
                resultado = ((Lola.DTO.Grilla.dtoMicroGrilla)this.gridView1.GetRow(this.gridView1.GetSelectedRows()[0])).CodigoServicio;
            }
            catch (Exception)
            { }
            return resultado;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            String codigoServicio = ObtenerServicioSeleccionado();
            if (!codigoServicio.Equals(String.Empty))
            {
                Sistema.getInstancia().RegistrarIngresoASector(this._galpon, this._sector, codigoServicio);
                MessageBox.Show("Ingreso exitoso a " + _sector, "Ingreso a " + this._sector, MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Dispose();
            }
            else
            {
                MessageBox.Show("Debe seleccionar una unidad para ingresar al sector", "Ingreso a " + _sector, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }
    }
}